package com.lifeverse.entity.enums;

/**
 * 价值类型枚举
 * 定义不同类型的价值
 */
public enum ValueType {
    
    /**
     * 经济价值
     */
    ECONOMIC("经济价值", "直接的经济收益和成本节约"),
    
    /**
     * 社会价值
     */
    SOCIAL("社会价值", "对社会和社区的积极影响"),
    
    /**
     * 环境价值
     */
    ENVIRONMENTAL("环境价值", "对环境保护和可持续发展的贡献"),
    
    /**
     * 技术价值
     */
    TECHNOLOGICAL("技术价值", "技术创新和能力提升的价值"),
    
    /**
     * 知识价值
     */
    KNOWLEDGE("知识价值", "知识创造和学习成果的价值"),
    
    /**
     * 创新价值
     */
    INNOVATION("创新价值", "创新思维和创造性解决方案的价值"),
    
    /**
     * 协作价值
     */
    COLLABORATION("协作价值", "团队协作和网络效应的价值"),
    
    /**
     * 品牌价值
     */
    BRAND("品牌价值", "品牌影响力和声誉的价值"),
    
    /**
     * 战略价值
     */
    STRATEGIC("战略价值", "长期战略目标实现的价值"),
    
    /**
     * 文化价值
     */
    CULTURAL("文化价值", "文化传承和多样性的价值"),
    
    /**
     * 健康价值
     */
    HEALTH("健康价值", "身心健康和福祉的价值"),
    
    /**
     * 教育价值
     */
    EDUCATIONAL("教育价值", "教育和人才培养的价值"),
    
    /**
     * 安全价值
     */
    SECURITY("安全价值", "安全保障和风险防控的价值"),
    
    /**
     * 效率价值
     */
    EFFICIENCY("效率价值", "效率提升和流程优化的价值"),
    
    /**
     * 质量价值
     */
    QUALITY("质量价值", "质量改进和标准提升的价值");
    
    private final String displayName;
    private final String description;
    
    ValueType(String displayName, String description) {
        this.displayName = displayName;
        this.description = description;
    }
    
    public String getDisplayName() {
        return displayName;
    }
    
    public String getDescription() {
        return description;
    }
    
    /**
     * 判断是否为可量化价值
     */
    public boolean isQuantifiable() {
        return this == ECONOMIC || this == EFFICIENCY || this == QUALITY;
    }
    
    /**
     * 判断是否为长期价值
     */
    public boolean isLongTerm() {
        return this == STRATEGIC || this == BRAND || this == CULTURAL || this == ENVIRONMENTAL;
    }
    
    /**
     * 判断是否为社会影响价值
     */
    public boolean isSocialImpact() {
        return this == SOCIAL || this == ENVIRONMENTAL || this == HEALTH || this == EDUCATIONAL;
    }
}